package com.qf.openapi.web.master.service;

import com.qf.openapi.web.master.entity.User;
import com.qf.openapi.web.master.vo.ResultVo;
import com.qf.openapi.web.master.vo.TableVo;
import com.qf.openapi.web.master.vo.UserVo;

import java.io.IOException;

public interface UserService {
    /**
     * 检验用户名密码 正确返回对象 错误返回null
     * @param username
     * @param password
     * @return
     */
    User login(String username, String password);

    /**
     * 用户注册
     *
     * @param userVo
     * @param path
     * @return
     */
    ResultVo insert(UserVo userVo, String path) throws IOException;

    /**
     *
     * @param username
     * @return
     */
    ResultVo checkUserName(String username);

    /**
     *
     * @param page
     * @param limit
     * @return
     */
    TableVo<User> getAllUserByPage(Integer page, Integer limit);

    TableVo<User> getAllUserByPageHelper(Integer page, Integer limit);

    ResultVo addUser(UserVo userVo);

    ResultVo deleteUserById(Integer[] ids);

    ResultVo updateUser(UserVo userVo);

    TableVo<User> getUsersByContditions(Integer page, Integer limit, UserVo userVo);

    ResultVo export() throws Exception;
}
